/**
 * 
 */
package vue;

import java.util.HashMap;
import java.util.Map;

import model.session.CNFUse;
import model.session.ExecutableSessionBlock;
import model.session.PreprocessorExecutionBlock;
import model.session.SolverExecutionBlock;
import vue.session.IGCNFUse;
import vue.session.IGExecutionBlock;
import vue.session.IGPreprocessorBlock;
import vue.session.IGSolverBlock;

/**
 * @author GRONOWSKI Stephane svan001@aol.com
 * 
 *         igsat 2010
 * 
 */
public class IGLink {


	private Map<ExecutableSessionBlock, IGExecutionBlock>			executions		= new HashMap<ExecutableSessionBlock, IGExecutionBlock>();
	private Map<CNFUse, IGCNFUse>									cnfUses			= new HashMap<CNFUse, IGCNFUse>();
	private Map<SolverExecutionBlock, IGSolverBlock>				solvers			= new HashMap<SolverExecutionBlock, IGSolverBlock>();
	private Map<PreprocessorExecutionBlock, IGPreprocessorBlock>	preprocessors	= new HashMap<PreprocessorExecutionBlock, IGPreprocessorBlock>();

	public IGLink(Map<ExecutableSessionBlock, IGExecutionBlock> executions, Map<CNFUse, IGCNFUse> cnfUses,
			Map<SolverExecutionBlock, IGSolverBlock> solvers, Map<PreprocessorExecutionBlock, IGPreprocessorBlock> preprocessors) {
		this.executions = executions;
		this.cnfUses = cnfUses;
		this.solvers = solvers;
		this.preprocessors = preprocessors;
	}

	/**
	 * @return the executions
	 */
	public Map<ExecutableSessionBlock, IGExecutionBlock> getExecutions() {
		return executions;
	}

	/**
	 * @param executions
	 *            the executions to set
	 */
	public void setExecutions(Map<ExecutableSessionBlock, IGExecutionBlock> executions) {
		this.executions = executions;
	}

	/**
	 * @return the cnfUses
	 */
	public Map<CNFUse, IGCNFUse> getCnfUses() {
		return cnfUses;
	}

	/**
	 * @param cnfUses
	 *            the cnfUses to set
	 */
	public void setCnfUses(Map<CNFUse, IGCNFUse> cnfUses) {
		this.cnfUses = cnfUses;
	}

	/**
	 * @return the solvers
	 */
	public Map<SolverExecutionBlock, IGSolverBlock> getSolvers() {
		return solvers;
	}

	/**
	 * @param solvers
	 *            the solvers to set
	 */
	public void setSolvers(Map<SolverExecutionBlock, IGSolverBlock> solvers) {
		this.solvers = solvers;
	}

	/**
	 * @return the preprocessors
	 */
	public Map<PreprocessorExecutionBlock, IGPreprocessorBlock> getPreprocessors() {
		return preprocessors;
	}

	/**
	 * @param preprocessors
	 *            the preprocessors to set
	 */
	public void setPreprocessors(Map<PreprocessorExecutionBlock, IGPreprocessorBlock> preprocessors) {
		this.preprocessors = preprocessors;
	}


}
